Multi-path forwarding computes multiple alternative paths between a source and a destination. The multiple paths might be overlapped, edge-disjointed, or node-disjointed with each other. Multi-path forwarding may provide fault tolerance, increased bandwidth, or improved security.